package com.thirteen.app.service;

import com.thirteen.app.dto.CreateExamBySearchResponse.PaperSearchDto;
import com.thirteen.app.dto.CreateExamResponse.PaperInfoExamDto;
import com.thirteen.app.dto.CreatePaperResponse.PaperCreateDto;
import com.thirteen.app.dto.ExamRecordResponse.PaperWithAnswerDto;
import com.thirteen.app.dto.ExamRecordWithScoreResponse.PaperWithScoreDto;
import com.thirteen.app.dto.PaperRespose.AnswerDto;
import com.thirteen.app.dto.PaperRespose.PaperDto;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface PaperService {

    //    构建一张试卷
    PaperDto queryPaper(Integer examRecordId);

    //    提交答案
    Boolean submitAnswer(@Param("answerDto") AnswerDto answerDto);

    //    提交试卷
    Boolean submitPaper(Integer examRecordId);

//    查出考试记录
//    PaperDto queryPaperRecord(Integer examRecordId);

    //    考试记录阅卷后
    PaperWithScoreDto queryPaperWithScore(Integer examRecordId);

    //    提供给老师的试卷
    PaperWithAnswerDto queryPaperWithAnswer(Integer examRecordIdTmp);

    //    根据课程查找试卷
    List<PaperSearchDto> queryAllPaperByCourseId(Integer courseId, String paperName, Integer offset, Integer limit);

    //    查询试卷简略信息
    PaperInfoExamDto queryPaperInfo(Integer paperId);

    //    根据自定义出题
    Boolean customCreatePaper(PaperCreateDto paperCreateDto);

    //    考试阅卷方式
    Boolean isMachineJudge(Integer examRecordId);

}

